home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Libris Britannia 4
/
science library(b).zip
/
science library(b)
/
MEDICAL
/
2608A.ZIP
/
GP.ZIP
/
CHKNEW.SRC
< prev
next >
Wrap
Text File
|
1990-11-03
|
31KB
|
1,199 lines
;\|
;CHKNEW.SRC Translated from CHKNEW.EDT by Roger Mathew's EDT2SRC Ver 4.11
;CHECK_UP 12:03:21 PM 3/ 6/90 |
DO_DEFINES:
define(fld_lctr|N|2||)
define(FLAG|A|1||)
define(silly|a|1||)
define(ISITCLIN|A|1||)
define(CTR6|N|2||)
define(MEM_EYES|A|5||)
define(MEM_EARS|A|4||)
define(MEM_MOBIL|A|5||)
define(MEM_MEM|A|4||)
define(MEM_BOWELS|A|4||)
define(MEM_BLAD|A|4||)
define(MEM_HOUSE|A|12||)
define(YES.NO|A|1||)
define(TICK|A|1||5)
define(CTR3|N|1||)
define(MEM_NAME_CHK|A|27||)
define(PROC4|A|1||)
define(REF_CTR|N|2||)
define(MEM_DOC2|N|1||)
define(CON_CTR|N|2||)
define(EXTRAS|N|3||)
define(CON_NUM|N|3||)
define(CLIN_NUM|N|3||)
define(EMERG_NUM|N|3||)
define(ISIT_EMER|A|1||)
define(MEM_DOC|A|1||)
define(NY|A|1||)
define(AGE|N|2||)
define(BP_DROP|N|2||)
define(MEM_CTR|N|1||)
define(FBS_ADD|N|5|2|)
define(MEM_BP_AGE|N|3||)
define(AOD|A|1||15)
define(TD|S|8||)
define(MN|A|30||15)
define(DO|A|8||15)
define(QU|A|10||15)
define(DS|A|30||15)
define(QTY|N|3||15)
define(ISN|N|3||15)
define(CTR|N|2||)
define(CTR2|N|2||)
define(LNE.LNGTH|N|2||)
define(OK|A|1||)
define(LNE.LN2|N|2||)
define(NUM.MSG|N|2||)
define(MESSAGE|A|78||15)
define(ENT.MASK|A|10||)
define(LLC|N|2||)
define(WD|N|2||)
define(HT|N|2||)
define(MCNTR|N|5||)
define(MCNTR2|N|5||)
define(MCNTR3|N|5||)
define(MCNTR4|N|5||)
define(MEM_DIAB|A|1||)
define(MEM_NEW|A|1||)
define(MEM_BP|A|1||)
define(MEM_THY|A|1||)
define(MEM_OLD|A|1||)
define(MEM_RECD|S|8||)
define(MEM_RECT|S|8||)
define(MEM_RECB|S|8||)
OPEN_FILES:
open(PATIENT||0|)
open(DIABETIC||0|)
open(RP||0|)
open(RECALLS||0|)
open(REFER||0|EXIT)
open(PROCEDE||1|EXIT)
open(MEMORY||0|EXIT)
open(GPSETUP||0|EXIT)
STARTCHK:
mount(CHECK|S)
CTR = (9)
for(CTR2|1|5|1)
{
enter(TICK[CTR2]|"YN"||STARTCHK|Y|Y|N|64|CTR|N)
CTR = (CTR+1)
}
enter(YES.NO|"YN"||STARTCHK|Y|Y|N|44|15|N)
if YES.NO = ("Y") then run("PATREC")
trap(S|G|SAVE_RECS)
trap(D|I)
trap(C|G|CLR_RECS)
trap(Q|G|EXIT)
trap(J|I)
MOUNT_SCRS:
mount(SCREEN2|S||)
CHECK_TYPE = (3)
pmsg("F1 - Help F2 - Memo"|1|24|N|N|S|)
date(TD|G)
START_UP:
trap(J|I)
MEM_OLD = ("Y")
PAT.NAME:
clrlne(1|22)
enter(PATIENT.NAME||||||||)
find(G|PATIENT.NAME|PAT.NAME|)
DIAB_REF = (RECORD.NUMBER)
find(M|DIAB_REF|NO_DIABX|)
NO_DIAB:
goto STARTALL
NO_DIAB2:
gosub GET_AGE
trap(%|I)
trap(U|I)
saves(10)
window(20|12|2|35)
ISITCLIN = ("")
pmsg("Is this a clinic or update?"|1|1|N|N|S|)
enter(ISITCLIN|"YN"|||Y|Y|N|30|1|N)
if ISITCLIN = ("Y") then CHECK_DATE = (TD)
trap(%|D)
trap(U|D)
redsp(10)
enter(CHECK_DATE||||N|Y|N|||N)
enter(CHECK_OP||||Y|Y|N|||N)
if CHECK_OP = ("") reent
enter(CHK_DOC|"1234"|||N|Y|N|||N)
enter(DOC_BP1|"1234567890"|||N|Y|N|||N)
enter(DOC_BP2|"1234567890"|||N|Y|N|||N)
if DOC_BP1 > (0) then MEM_BP = ("Y")
NO_DIAB3:
FLAG = ("X")
trap(J|G|RUN_MEMO)
enter(ONOWN|"YN "|ONOWN_HLP||Y|Y|N|||N)
enter(EYES|" OPSB"|EYES_HLP||Y|Y|N|||N)
enter(EARS|" ODA"|EARS_HLP||Y|Y|N|||N)
enter(WALK||WALK_HLP||N|Y|N|||N)
enter(MOBILITY|"GPWB"|MOBIL_HLP||Y|Y|N|||N)
enter(UP|" YN"|UP_HLP||Y|Y|N|||N)
enter(MEMORY|" GPBD"|MEM_HLP||Y|Y|N|||N)
enter(BOWELS|" OCIDS"|BOWELS_HLP||Y|Y|N|||N)
enter(BLADDER|" CIA"|BLAD_HLP||Y|Y|N|||N)
enter(MEDIC|"YN"|MEDIC_HLP||Y|Y|N|||N)
enter(HOME_HELP|"YNR "|HOME_HLP||Y|Y|N|||N)
enter(MEALS|"YNR "|MEALS_HLP||Y|Y|N|||N)
enter(NURSE|"YNR "|NURSE_HLP||Y|Y|N|||N)
enter(HOUSE|"H3NFO "|HOUSE_HLP||Y|Y|N|||N)
enter(SMOK||SMOK_HLP||N|Y|N|||N)
if SMOK > (0) gosub SMOK_MSG
enter(EXERCISE||EX_HLP||N|Y|N|||N)
enter(ALCOHOL||ALC_HLP||N|Y|N|||N)
enter(ANGINA||ANG_HLP||N|Y|N|||N)
enter(DIET|"GBP "|DIET_HLP||Y|Y|N|||N)
enter(WT1||||N|Y|N|||N)
enter(WT2||||N|Y|N|||N)
IDEAL_WT = (WT2-81*0.85)
if WT1 > (IDEAL_WT) gosub WEIGHT
enter(PROT|" T+"|||N|N|N|||N)
if PROT => ("+") gosub REF_PROT
enter(SUG||SUG_HLP||N|N|N|||N)
if SUG > (0.25) gosub REF_SUG
enter(BP_CHECK_NUM|" 123"|||N|Y|N|||N)
enter(BP1||||N|Y|N|||N)
enter(BP2||||N|Y|N|||N)
enter(BP1S||BPST_HLP||N|Y|N|||N)
gosub BP_CHECK
enter(PULSE||||N|Y|N|||N)
enter(REG|" YN"|REG_HLP||Y|Y|N|||N)
if REG = ("N") then enter(APEX||||N|Y|N|||N)
enter(FEV||||N|Y|N|||N)
enter(COMMENT1||||Y|Y|N|||N)
enter(COMMENT2||||Y|Y|N|||N)
gosub DRUGSCH
enter(DRUGS_CHECKED|"NY"|||Y|Y|N|||N)
enter(REF_CHECK|"NY"|||Y|Y|N|||N)
NEXT_CHECK = (CHECK_DATE+186)
enter(NEXT_CHECK||||N|Y|N|||N)
YES.NO = ("")
enter(YES.NO|"YN"|||Y|Y|N|||N)
if YES.NO = ("Y") gosub PRINT
SAVE_RECS:
if RECORD.NUMBER = (0) goto PAT.NAME
SAVE_DONE:
DIAB_REF = (RECORD.NUMBER)
CHECK_TYPE = (3)
save(DIABETIC|N|Y)
find(M|RECORD.NUMBER|EXIT|)
SMOKER = ("Y")
save(PATIENT|N|Y)
if FLAG = ("Y") then run("recmenu")
FLAG = ("")
STARTX:
MEM_DIAB = ("")
MEM_NEW = ("")
MEM_BP = ("")
MEM_THY = ("")
MEM_CTR = (0)
MEM_RECD = (0)
MEM_NAME_CHK = ("")
MEM_RECT = (0)
MEM_CTR = (0)
MEM_OLD = ("")
MEM_RECB = (0)
AGE = (0)
BP_DROP = (0)
FBS_ADD = (0)
MEM_BP_AGE = (0)
for(CTR|12|23|1)
{
clrlne(1|CTR)
}
pmsg("F1 - Help F2 - Memo [Ctrl-Y]- Print"|1|24|N|N|S|)
clr(PATIENT|B)
goto START_UP
DEL_RECS:
del(DIABETIC|Y|)
clr(PATIENT|B)
goto STARTX
CLR_RECS:
clr(PATIENT|B)
clr(DIABETIC|B)
goto STARTX
EXIT:
if FLAG = ("X") do
{
FLAG = ("Y")
goto SAVE_DONE
}
run("recmenu")
PRT.MSG:
LNE.LNGTH = (0)
for(MCNTR|1|NUM.MSG|1)
{
LNE.LN2 =siz(A|MESSAGE[MCNTR])
if LNE.LN2 > (LNE.LNGTH) then LNE.LNGTH = (LNE.LN2)
}
NUM.MSG = (NUM.MSG + 1)
if LNE.LNGTH < (26) then LNE.LNGTH = (26)
LNE.LNGTH = (LNE.LNGTH + 4)
LLC = (40 - (LNE.LNGTH / 2))
HT = (NUM.MSG + 3)
WD = (LNE.LNGTH + 1)
saves(1)
window(LLC|24|HT|WD)
NUM.MSG = (NUM.MSG - 1)
pmsg(""||||||)
for(MCNTR|1|NUM.MSG|1)
{
pmsg(MESSAGE[MCNTR]|3||N|N|S|)
}
pmsg("Press any key to continue"|3||Y|N|S|)
redsp(1)
ret
NO_DIABX:
clr(DIABETIC|B)
MESSAGE[1] = ("NO CHECK UP RECORD FOR THIS PATIENT")
NUM.MSG = (1)
gosub PRT.MSG
goto NO_DIAB
SEEALL:
STARTALL1:
STARTALL:
if RECORD.NUMBER = (0) goto ENDIT
COD.REF = (RECORD.NUMBER)
find(M|COD.REF|NEXTALL2|)
MEM_RECD = (COD.D[4])
MEM_RECT = (COD.D[6])
MEM_RECB = (COD.D[9])
NEXTALL2:
RP.REF = (RECORD.NUMBER)
find(M|RP.REF|ENDITX|)
CTR = (1)
TESTALL:
AOD[CTR] = (AUTO.ON.DEMAND)
MN[CTR] = (MEDICATION)
DO[CTR] = (DOSE)
QU[CTR] = (QUANTITY)
DS[CTR] = (DIRECTIONS)
QTY[CTR] = (RP.DISP.QTY)
ISN[CTR] = (ISSUE.NO)
trim(MN[CTR]|T)
trim(QU[CTR]|T)
just(QU[CTR]|L)
trim(DO[CTR]|T)
just(DO[CTR]|L)
trim(DS[CTR]|T)
just(DS[CTR]|L)
CTR2 = (CTR+11)
if CTR2 = (23) goto ENDIT
pmsg(AOD[CTR];" ";MN[CTR];" ";DO[CTR];" ";QU[CTR];" ";DS[CTR];" ";QTY[CTR];" ";ISN[CTR]|1|CTR2|N|N|S|)
silly = ("")
find(N|RP|ENDIT|)
if RP.REF <> (RECORD.NUMBER) goto ENDIT
CTR = (CTR+1)
goto TESTALL
CLEARXALL:
clr(RP|B)
clr(RECALLS|B)
clrmem(AOD|15)
clrmem(MN|15)
clrmem(DO|15)
clrmem(QU|15)
clrmem(DS|15)
clrmem(QTY|15)
clrmem(ISN|15)
ret
ENDIT:
find(M|RECORD.NUMBER|PAT.NAME|)
DIAB_REF = (RECORD.NUMBER)
find(M|DIAB_REF|NO_DIAB2|)
goto NO_DIAB2
ENDITX:
MESSAGE[1] = ("NO DRUGS ON REPEAT")
NUM.MSG = (1)
gosub PRT.MSG
goto ENDIT
GET_AGE:
AGE = (TD-DATE.OF.BIRTH/365)
ret
BP_CHECK:
if MEM_BP = ("Y") do
{
if BP_CHECK_NUM => (2) do
{
if BP1 > (DOC_BP1) gosub REFER_BP
if BP2 > (DOC_BP2) gosub REFER_BP
BP_DROP = (BP1-BP1S)
if BP_DROP > (20) gosub REFER_BP
}
ret
}
else
{
if BP_CHECK_NUM = (2) do
{
if BP1 > (AGE+110) gosub REFER_BP
}
if BP2 > (105) gosub REFER_BP
BP_DROP = (BP1-BP1S)
if BP_DROP > (20) gosub REFER_BP
}
ret
SMOK_HLP:
MESSAGE[1] = ("Number per day eg 16")
NUM.MSG = (1)
gosub PRT.MSG
ret
SMOK_MSG:
MESSAGE[1] = ("There is a risk of cancer,heart disease,gangrene,and bronchitis")
NUM.MSG = (1)
gosub PRT.MSG
ret
REF_PROT:
MESSAGE[1] = ("If there is more than a trace -send sample for orgs and sens.")
MESSAGE[2] = ("Refer to Dr if protein persists etc")
NUM.MSG = (2)
gosub PRT.MSG
ret
SUG_HLP:
MESSAGE[1] = ("Enter sugar in urine as a decimal eg 1/4 = .25")
NUM.MSG = (1)
gosub PRT.MSG
ret
REF_SUG:
MESSAGE[1] = ("Do a blood sugar.If high refer to Dr.")
MESSAGE[2] = ("If patient is a diabetic refer to Dr if more than a third of tests over .25")
NUM.MSG = (2)
gosub PRT.MSG
ret
REG_HLP:
MESSAGE[1] = ("Enter a Y if regular or a N if not. Do apical rate if N")
NUM.MSG = (1)
gosub PRT.MSG
ret
REFER_BP:
MESSAGE[1] = ("There is a definate BP problem here - refer to Dr.")
NUM.MSG = (1)
REF_CHECK = ("Y")
gosub PRT.MSG
ret
BPST_HLP:
MESSAGE[1] = ("Enter standing systolic - It should not drop more than 20")
NUM.MSG = (1)
gosub PRT.MSG
ret
DIET_HLP:
MESSAGE[1] = ("G = Good diet B = Bad diet P = Poor")
NUM.MSG = (1)
gosub PRT.MSG
ret
EX_HLP:
MESSAGE[1] = ("Enter a number for hours per week exercise")
NUM.MSG = (1)
gosub PRT.MSG
ret
DRUGSCH:
MESSAGE[1] = ("NOW CHECK PATIENTS DRUG THERAPY IS CORRECT")
NUM.MSG = (1)
gosub PRT.MSG
mount(DRUGSCR|S)
RP.REF = (RECORD.NUMBER)
find(M|RP.REF|NOSCR|)
CTR = (17)
NEXTRPS:
trim(MEDICATION|T)
if CTR = (29) do
{
pmsg("There are more drugs"|65|20|N|N|D|)
goto NOSCR
}
if CTR => (23) do
{
CTR6 = (CTR-6)
pmsg(MEDICATION|31|CTR6|N|N|D|)
}
else
{
pmsg(MEDICATION|1|CTR|N|N|D|)
}
CTR = (CTR+1)
find(N|RP|NOSCR|)
if RP.REF <> (RECORD.NUMBER) goto NOSCR
goto NEXTRPS
NOSCR:
enter(COMMENT1|||NOSCR|Y|Y|N|||N)
enter(COMMENT2||||Y|Y|N|||N)
mount(SCREEN2|S)
ret
NOCOD:
COD.PAT.NAME = (PATIENT.NAME)
COD.REF = (RECORD.NUMBER)
save(RECALLS|N|N)
find(M|COD.REF||)
goto SAVE_RECS
RUN_MEMO:
goto RUN_MEMOX
RUN_MEMOX:
trap(J|G|EXIT_MEM)
trap(S|G|SAVE_MEMO)
trap(D|I)
trap(C|I)
trap(Q|G|EXIT_MEM)
trap(L|G|EXIT_MEM)
MOUNT:
mount(NEW|S||)
START:
enter(PATIENT.NAME||||Y|Y|N|||N)
find(G|PATIENT.NAME|START|)
PROC_REF = (RECORD.NUMBER)
find(M|PROC_REF|START2CL|)
NY = ("")
pmsg("DO YOU WANT TO UPDATE THE MEMOS FIRST:"|10|20|N|N|S|)
enter(NY|"YN"|||Y|Y|N|50|20|N)
if NY = ("Y") goto UPMEMO
clrlne(1|20)
START2:
gosub LINE
if CTR2 = (0) then CTR2 = (1)
SATRT3:
MEM_DOC = ("")
for(CTR|CTR2|6|1)
{
PROC_DATE[CTR] = (TD)
PROC_UP = (TD)
enter(PROC_DATE[CTR]|||SATRT3|N|N|N|||N)
enter(PROC[CTR]||||Y|Y|N|||N)
enter(PROC_DOC[CTR]|"12345"|||Y|Y|N|||N)
MEM_DOC = (PROC_DOC[CTR])
enter(PROC_OP[CTR]||||Y|Y|N|||N)
if PROC_OP[CTR] = ("") reent
if PROC_EX[CTR] = ("") do
{
PROC_REF = (RECORD.NUMBER)
PROC4 =mid(PROC[CTR]|1|1|)
if PROC4 = ("*") do
{
PROC_EX[CTR] = ("X")
gosub STARTAGAIN
save(PROCEDE|N|N)
find(M|PROC_REF||)
}
enter(PROC_DONE[1]|" YNSCRO"|||Y|Y|N|||N)
enter(PROC_DONE[2]|" YNSCRO"|||Y|Y|N|||N)
enter(PROC_DONE[3]|" YNSCRO"|||Y|Y|N|||N)
enter(PROC_DONE[4]|" YNSCRO"|||Y|Y|N|||N)
enter(PROC_DONE[5]|" YNSCRO"|||Y|Y|N|||N)
enter(PROC_DONE[6]|" YNSCRO"|||Y|Y|N|||N)
}
}
gosub LINE
for(CTR|1|6|1)
{
if PROC[CTR] = ("") then PROC_DATE[CTR] = (0)
}
goto SATRT3
SAVE_MEMO:
for(CTR|1|6|1)
{
if PROC[1] = ("") do
{
clr(PROCEDE|B)
goto START
}
if PROC[CTR] = ("") do
{
PROC_DATE[CTR] = (0)
PROC_OP[CTR] = ("")
PROC_DOC[CTR] = ("")
PROC_DONE[CTR] = ("")
}
}
if PROC_REF = (0) goto START
PROC_REF = (RECORD.NUMBER)
if PROC_REF = (0) goto START
save(PROCEDE|Y|Y|)
MEM_DOC = ("")
goto START
EXIT_MEM:
if PROC[1] = ("") goto RUNPATREC
for(CTR|1|6|1)
{
if PROC[CTR] = ("") do
{
PROC_DATE[CTR] = (0)
PROC_OP[CTR] = ("")
PROC_DOC[CTR] = ("")
PROC_DONE[CTR] = ("")
}
}
if PROC_REF > (0) then save(PROCEDE|N|Y)
RUNPATREC:
trap(S|G|SAVE_RECS)
trap(D|I)
trap(C|G|CLR_RECS)
trap(Q|G|EXIT)
trap(J|G|RUN_MEMO)
mount(SCREEN2|S)
gosub STARTALLXX
goto PAT.NAME2
LINE:
for(CTR2|1|6|1)
{
if PROC[CTR2] = ("") do
{
if CTR2 = (6) do
{
pops
goto SATRT3
}
ret
}
}
CTR = (2)
if PROC_DATE[1] = (TD) do
{
for(CTR3|1|6|1)
{
enter(PROC_DONE[CTR3]|" Y"|||Y|Y|N|||N)
}
pops
goto SAVE_MEMO
}
for(CTR2|1|5|1)
{
PROC[CTR2] = (PROC[CTR])
PROC_DATE[CTR2] = (PROC_DATE[CTR])
PROC_OP[CTR2] = (PROC_OP[CTR])
PROC_DOC[CTR2] = (PROC_DOC[CTR])
PROC_DONE[CTR2] = (PROC_DONE[CTR])
CTR = (CTR+1)
}
PROC[6] = ("")
PROC_DATE[6] = (0)
PROC_OP[6] = ("")
PROC_DOC[6] = ("")
PROC_DONE[6] = ("")
PROC_EX[6] = ("")
goto LINE
ret
UPARROW:
CTR2 = (CTR2-1)
CTR = (CTR2)
ret
STARTAGAIN:
trap(%|I)
trap(J|I)
trap(Q|G|EXITX)
trap(U|I)
trap(C|I)
trap(S|I)
saves(1)
window(20|15|5|40)
trap(Q|G|EXITX)
find(B|HEADING||)
pmsg("IS IT EMERGENCY:"|1|1|N|N|S|)
enter(ISIT_EMER|"YN"|||Y|Y|N|20|1|N)
if ISIT_EMER = ("Y") goto SCR2
gosub SCREEN2
CLIN_NUM = (CLIN_NUM)
pmsg("ENTER SPECIALTY:"|1|2|N|N|S|)
enter(CLIN_NUM||||N|Y|N|20|2|N)
ADDER:
REF_COD = (MEM_DOC)
find(M|REF_COD|EXIT|)
if ISIT_EMER <> ("Y") do
{
CLIN_REF[CLIN_NUM] = (CLIN_REF[CLIN_NUM]+1)
}
else
{
EMERG_REF[EMERG_NUM] = (EMERG_REF[EMERG_NUM]+1)
}
save(REFER|N|Y)
CLIN_NUM = (0)
CON_NUM = (0)
EMERG_NUM = (0)
ISIT_EMER = ("")1
redsp(1)
trap(%|D)
trap(J|G|EXIT_MEM)
trap(U|D)
trap(Q|G|EXIT)
ret
SCREEN2:
saves(2)
window(1|25|24|78)
for(REF_CTR|1|22|1)
{
pmsg(@R;REF_CTR;@N;" ";@R;CLINICS[REF_CTR];@N|1|REF_CTR|N|N|S|)
}
CON_CTR = (REF_CTR+1)
for(REF_CTR|1|22|1)
{
pmsg(@R;CON_CTR;@N;" ";@R;CLINICS[CON_CTR];@N|25|REF_CTR|N|N|S|)
CON_CTR = (CON_CTR+1)
}
pmsg("ENTER NUMBER:"|60|12|N|N|S|)
enter(CLIN_NUM||||N|Y|N|65|13|N)
if CLIN_NUM = (0) reent
if CLIN_NUM > (44) reent
redsp(2)
ret
SCREEN3:
saves(2)
window(1|25|24|78)
for(REF_CTR|1|22|1)
{
pmsg(@R;REF_CTR;@N;" ";@R;CLINICS[REF_CTR];@N|1|REF_CTR|N|N|S|)
}
CON_CTR = (REF_CTR+1)
for(REF_CTR|1|22|1)
{
pmsg(@R;CON_CTR;@N;" ";@R;CLINICS[CON_CTR];@N|25|REF_CTR|N|N|S|)
CON_CTR = (CON_CTR+1)
}
pmsg("ENTER NUMBER:"|60|12|N|N|S|)
enter(EMERG_NUM||||N|Y|N|65|13|N)
if EMERG_NUM = (0) reent
if EMERG_NUM > (44) reent
redsp(2)
ret
SCR2:
gosub SCREEN3
EMERG_NUM = (EMERG_NUM)
pmsg("ENTER SPECIALTY EMERGENCY:"|1|3|N|N|S|)
enter(EMERG_NUM||||N|Y|N|30|3|N)
goto ADDER
EXITX:
goto STARTCHK
UPMEMO:
enter(PROC_DONE[1]|" YNSCRO"|||Y|Y|N|||N)
enter(PROC_DONE[2]|" YNSCRO"|||Y|Y|N|||N)
enter(PROC_DONE[3]|" YNSCRO"|||Y|Y|N|||N)
enter(PROC_DONE[4]|" YNSCRO"|||Y|Y|N|||N)
enter(PROC_DONE[5]|" YNSCRO"|||Y|Y|N|||N)
enter(PROC_DONE[6]|" YNSCRO"|||Y|Y|N|||N)
clrlne(1|22)
goto START2
START2CL:
clr(PROCEDE|B)
goto START2
PAT.NAME2:
goto NO_DIAB3
PRINT:
mount(CHKREP|R|P)
pchr(P|1)
gosub GET_MEM
pfmt(1|||N|N|)
pfmt(2|||N|N|)
pfmt(3|||N|N|)
pfmt(4|||N|N|)
pfmt(5|||N|N|)
pfmt(6|||N|N|)
pfmt(7|||N|N|)
fld_lctr = (0)
gosub PRINTRP
fld_lctr = (fld_lctr+7)
if REF_CHECK = ("Y") do
{
pmsg(%14;" REFERRED TO DOCTOR"|||N|N|P|)
fld_lctr = (fld_lctr+1)
}
CTR3 = (22-fld_lctr)
if CTR3 <= (0) goto MOUNTAGAIN
for(CTR2|1|CTR3|1)
{
pmsg(""|||N|N|P|)
}
MOUNTAGAIN:
pfmt(8|||N|N|)
pblnk(1)
mount(SCREEN2|S)
gosub STARTALLXX
ret
PRINTRP:
RP.REF = (RECORD.NUMBER)
find(M|RP.REF|RETPRINT|)
CTR = (1)
TESTALLX:
if fld_lctr => (8) goto RETPRINT
fld_lctr = (fld_lctr+1)
AOD[CTR] = (AUTO.ON.DEMAND)
MN[CTR] = (MEDICATION)
DO[CTR] = (DOSE)
QU[CTR] = (QUANTITY)
DS[CTR] = (DIRECTIONS)
QTY[CTR] = (RP.DISP.QTY)
ISN[CTR] = (ISSUE.NO)
trim(MN[CTR]|T)
trim(QU[CTR]|T)
just(QU[CTR]|L)
trim(DO[CTR]|T)
just(DO[CTR]|L)
trim(DS[CTR]|T)
just(DS[CTR]|L)
pmsg(AOD[CTR];" ";MN[CTR];" ";DO[CTR];" ";QU[CTR];" ";DS[CTR];" ";QTY[CTR];" ";ISN[CTR]|||N|N|P|)
find(N|RP|RETPRINT|)
if RP.REF <> (RECORD.NUMBER) goto RETPRINT
CTR = (CTR+1)
goto TESTALLX
RETPRINT:
PROC_REF = (RECORD.NUMBER)
find(M|PROC_REF|RETPRINTX|)
for(CTR2|1|6|1)
{
if PROC[CTR2] = ("") goto RETPRINTX
pmsg(PROC_DATE[CTR2];" ";PROC[CTR2]|||N|N|P|)
fld_lctr = (fld_lctr+1)
}
RETPRINTX:
ret
STARTALLXX:
if RECORD.NUMBER = (0) goto ENDITXXX
COD.REF = (RECORD.NUMBER)
find(M|COD.REF|NEXTALL2XX|)
MEM_RECD = (COD.D[4])
MEM_RECT = (COD.D[6])
MEM_RECB = (COD.D[9])
NEXTALL2XX:
RP.REF = (RECORD.NUMBER)
find(M|RP.REF|ENDITXXX|)
CTR = (1)
TESTALLOP:
AOD[CTR] = (AUTO.ON.DEMAND)
MN[CTR] = (MEDICATION)
DO[CTR] = (DOSE)
QU[CTR] = (QUANTITY)
DS[CTR] = (DIRECTIONS)
QTY[CTR] = (RP.DISP.QTY)
ISN[CTR] = (ISSUE.NO)
trim(MN[CTR]|T)
trim(QU[CTR]|T)
just(QU[CTR]|L)
trim(DO[CTR]|T)
just(DO[CTR]|L)
trim(DS[CTR]|T)
just(DS[CTR]|L)
CTR2 = (CTR+11)
if CTR2 = (23) goto ENDITXXX
pmsg(AOD[CTR];" ";MN[CTR];" ";DO[CTR];" ";QU[CTR];" ";DS[CTR];" ";QTY[CTR];" ";ISN[CTR]|1|CTR2|N|N|S|)
silly = ("")
find(N|RP|ENDITXXX|)
if RP.REF <> (RECORD.NUMBER) goto ENDITXXX
CTR = (CTR+1)
goto TESTALLOP
ENDITXXX:
ret
ALC_HLP:
MESSAGE[1] = ("ENTER NUMBER OF PINTS A WEEK - 1 PUB GIN=1/2 PINT")
NUM.MSG = (1)
gosub PRT.MSG
ret
ANG_HLP:
MESSAGE[1] = ("ENTER NUMBER OF ATTACKS PER WEEK")
NUM.MSG = (1)
gosub PRT.MSG
ret
WEIGHT:
MESSAGE[1] = ("THERE IS AN OBESITY PROBLEM HERE")
NUM.MSG = (1)
gosub PRT.MSG
ret
OED_HLP:
MESSAGE[1] = ("Graded from 0 to 3")
NUM.MSG = (1)
gosub PRT.MSG
ret
ONOWN_HLP:
MESSAGE[1] = ("LIVING ALONE Y OR N")
NUM.MSG = (1)
gosub PRT.MSG
ret
EYES_HLP:
MESSAGE[1] = ("(O)K,(S)PECS,(P)ARTIAL,(B)LIND")
NUM.MSG = (1)
gosub PRT.MSG
ret
EARS_HLP:
MESSAGE[1] = ("(O)K,(D)EAF,(A)ID")
NUM.MSG = (1)
gosub PRT.MSG
ret
WALK_HLP:
MESSAGE[1] = ("CAPABILITY IN MILES OR PART OF A MILE")
NUM.MSG = (1)
gosub PRT.MSG
ret
MOBIL_HLP:
MESSAGE[1] = ("AROUND HOME -(G)OOD,(P)OOR,(W)HEELCHAIR,(B)EDRIDDEN")
NUM.MSG = (1)
gosub PRT.MSG
ret
UP_HLP:
MESSAGE[1] = ("CAN THE PATIENT MANAGE STAIRS Y/N")
NUM.MSG = (1)
gosub PRT.MSG
ret
MEM_HLP:
MESSAGE[1] = ("(G)OOD,(P)OOR,(B)AD,(D)EMENTED")
NUM.MSG = (1)
gosub PRT.MSG
ret
BOWELS_HLP:
MESSAGE[1] = ("(O)K,(C)ONSTIPATED,(D)IARRHOEA,(I)NCONTINENT,O(S)TOMY")
NUM.MSG = (1)
gosub PRT.MSG
ret
BLAD_HLP:
MESSAGE[1] = ("(C)ONTINENT,(I)NCONTINENT,C(A)THETER")
NUM.MSG = (1)
gosub PRT.MSG
ret
MEDIC_HLP:
MESSAGE[1] = ("? ON MEDICATION Y/N")
NUM.MSG = (1)
gosub PRT.MSG
ret
HOME_HLP:
MESSAGE[1] = ("HOME HELP - (Y)ES,(N)O,(R)EQUIRED")
NUM.MSG = (1)
gosub PRT.MSG
ret
MEALS_HLP:
MESSAGE[1] = ("MEALS ON WHEELS - (Y)ES,(N)O,(R)EQUIRED")
NUM.MSG = (1)
gosub PRT.MSG
ret
NURSE_HLP:
MESSAGE[1] = ("NURSE IN ATTENDANCE - Y - N - (R)EQUIRED")
NUM.MSG = (1)
gosub PRT.MSG
ret
HOUSE_HLP:
MESSAGE[1] = ("(H)OUSE,(F)LAT,PART(3),(N)URSING HOME,(O)THER")
NUM.MSG = (1)
gosub PRT.MSG
ret
GET_MEM:
if EYES = ("O") then MEM_EYES = ("OK")
if EYES = ("S") then MEM_EYES = ("SPECS")
if EYES = ("P") then MEM_EYES = ("PART")
if EYES = ("B") then MEM_EYES = ("BLIND")
if EARS = ("O") then MEM_EARS = ("OK")
if EARS = ("D") then MEM_EARS = ("DEAF")
if EARS = ("A") then MEM_EARS = ("AID")
if MOBILITY = ("G") then MEM_MOBIL = ("GOOD")
if MOBILITY = ("P") then MEM_MOBIL = ("POOR")
if MOBILITY = ("W") then MEM_MOBIL = ("WHEEL")
if MOBILITY = ("B") then MEM_MOBIL = ("BED")
if MEMORY = ("G") then MEM_MEM = ("GOOD")
if MEMORY = ("P") then MEM_MEM = ("POOR")
if MEMORY = ("B") then MEM_MEM = ("BAD")
if MEMORY = ("D") then MEM_MEM = ("DEMT")
if BOWELS = ("O") then MEM_BOWELS = ("OK")
if BOWELS = ("C") then MEM_BOWELS = ("CONS")
if BOWELS = ("D") then MEM_BOWELS = ("DIAR")
if BOWELS = ("I") then MEM_BOWELS = ("INCT")
if BOWELS = ("S") then MEM_BOWELS = ("OSTY")
if BLADDER = ("C") then MEM_BLAD = ("CONT")
if BLADDER = ("I") then MEM_BLAD = ("INCT")
if BLADDER = ("A") then MEM_BLAD = ("CATH")
if HOUSE = ("H") then MEM_HOUSE = ("HOUSE")
if HOUSE = ("F") then MEM_HOUSE = ("FLAT")
if HOUSE = ("3") then MEM_HOUSE = ("PART 3")
if HOUSE = ("N") then MEM_HOUSE = ("NURSE HOME")
if MEM_HOUSE = ("O") then HOUSE = ("OTHER")
ret
;DRUG 05:01:17 PM 14/ 4/90 |
\STNEW
PROCEDURE ENTRY
╔═══════════════════════════════════════════════════════════════╗
║ & <& <& <║
║ ║
║ Date Procedure Dr Rec Done║
║ & & & & & ║
║ & & & & & ║
║ & & & & & ║
║ & & & & & ║
║ & & & & & ║
║ & & & & & ║
╚═══════════════════════════════════════════════════════════════╝
Esc - Exit and Save V=1 G=2 P=3 N=4 T=5 * for clinic,xray,path
Y=DONE S=SEE DR C=COL.SCRPT R=REPEAT O=OTHER N=NORMAL
\
PATIENT.NAME
ADDRESS1
DATE.OF.BIRTH
PROC_DATE[1]
PROC[1]
PROC_DOC[1]
PROC_OP[1]
PROC_DONE[1]
PROC_DATE[2]
PROC[2]
PROC_DOC[2]
PROC_OP[2]
PROC_DONE[2]
PROC_DATE[3]
PROC[3]
PROC_DOC[3]
PROC_OP[3]
PROC_DONE[3]
PROC_DATE[4]
PROC[4]
PROC_DOC[4]
PROC_OP[4]
PROC_DONE[4]
PROC_DATE[5]
PROC[5]
PROC_DOC[5]
PROC_OP[5]
PROC_DONE[5]
PROC_DATE[6]
PROC[6]
PROC_DOC[6]
PROC_OP[6]
PROC_DONE[6]
\
\R CHKREP
NEW PATIENT CHECK: & :& [& ] ON & BY & Dr.& Drugs Chkd:& Regd:&
=====================================================================================================================
Onown:& Eyes:& Ears:& Walking:& Mobility:& Stairs:& Memory:& Bowels:& Bladder:&
On Medctn:& Home Help:& Meals on wheels:& Nurse:& House type:& FEV:&
Smokes :& Exrcise:& Alcohol:& Angina:& Diet:& Weight:& Height:& Ideal Wt:& Oed:&
Protein:& Sugar:& Drs. Rec. BP:& /& BP Chk Num:& BP:& /& Standing Sys:& Pulse:& /&/&
Nurses comments:& & Nurses Sig:
Age-Sex checked:& Smear check:& Immun checked:& RP checked:& Problem list Updated:& Doctors Sig:
\
PATIENT.NAME
DATE.OF.BIRTH
AGE
TD
CHECK_OP
CHK_DOC
DRUGS_CHECKED
PAT.REG
ONOWN
MEM_EYES
MEM_EARS
WALK
MEM_MOBIL
UP
MEM_MEM
MEM_BOWELS
MEM_BLAD
MEDIC
HOME_HELP
MEALS
NURSE
MEM_HOUSE
FEV
SMOK
EXERCISE
ALCOHOL
ANGINA
DIET
WT1
WT2
IDEAL_WT
OEDEMA
PROT
SUG
DOC_BP1
DOC_BP2
BP_CHECK_NUM
BP1
BP2
BP1S
PULSE
REG
APEX
COMMENT1
COMMENT2
TICK[1]
TICK[2]
TICK[3]
TICK[4]
TICK[5]
\
\SSSCREEN2
NEW PATIENT CLC p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p( p p) on p p p p p p p p by p p p p p p================
=============================================================== Dr.Num:p p Drugs Checked:p p Referre
d to Dr: p Nxt Chk:p p p p p p p p p Prnt N/Y:p p ================================================
=============================== Onown: p Stairs: p HH: p Smokes:p p p Wt:p p p p p p p Dr
.BP:p p p p/ p p p Eyes : p Memory: p MOW: p Exerc :p p p Ht:p p p p p p p Chk.No:p p
Ears : p Bowels: p Nurse: p Alcoh :p p p IW:p p p p p p p BP:p p p p/ p p p Walking: p p p p p p B
ladr: p House: p Angina:p p p Pr:p p p p p St.Sys:p p p p Mobilty: p Medicat: p Fev: p p p
Diet :p p Su:p p p p p Pulse:p p p p:p p:p p p p Com1 :p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p Com2:p p
p p p p p p p p p p p p p p p p p p p p p p p p p p p p p ================================================================
==============
\
PATIENT.NAME 27 A 17 1
DATE.OF.BIRTH 10 D 45 1
AGE 2 N 56 1
CHECK_DATE 8 S 63 1
CHECK_OP 6 A 75 1
CHK_DOC 1 N 8 3
DRUGS_CHECKED 1 A 24 3
REF_CHECK 1 A 41 3
NEXT_CHECK 8 S 51 3
YES.NO 1 A 69 3
ONOWN 1 A 9 5
UP 1 A 22 5
HOME_HELP 1 A 31 5
SMOK 2 N 43 5
WT1 52N 53 5
DOC_BP1 3 N 69 5
DOC_BP2 3 N 73 5
EYES 1 A 9 6
MEMORY 1 A 22 6
MEALS 1 A 31 6
EXERCISE 2 N 43 6
WT2 52N 53 6
BP_CHECK_NUM 1 N 69 6
EARS 1 A 9 7
BOWELS 1 A 22 7
NURSE 1 A 31 7
ALCOHOL 2 N 43 7
IDEAL_WT 52N 53 7
BP1 3 N 69 7
BP2 3 N 73 7
WALK 52N 9 8
BLADDER 1 A 22 8
HOUSE 1 A 31 8
ANGINA 2 N 43 8
PROT 4 A 53 8
BP1S 3 N 69 8
MOBILITY 1 A 9 9
MEDIC 1 A 22 9
FEV 3 N 29 9
DIET 1 A 43 9
SUG 32N 53 9
PULSE 3 N 68 9
REG 1 A 72 9
APEX 3 N 74 9
COMMENT1 30 A 810
COMMENT2 30 A 4810
\
\STCHECK
DO THE FOLLOWING FIRST
╔═══════════════════════════════════════════════════╗
║ 1.CHECK DETAILS ON AGE SEX REGISTER ARE CORRECT. ║
║ 2.ENTER SMEAR DETAILS. ║
║ 3.ENTER IMMUNISATION DETAILS. ║
║ 4.FIND OUT ABOUT REPEAT PRESCRIBING DRUGS. ║
║ 5.UPDATE THE PROBLEM LIST ║
╚═══════════════════════════════════════════════════╝
GO TO AGE/SEX RECALLS Y/N:&
\
YES.NO
\
\STDRUGSCR
Digoxin B-blockers Diuretics Tnt + Ca Ace Inhib
╔═════════════════════════════════════════════════════════════════════════╗
║CHECK║PULSE + APEX ║FEV ║OEDEMA ║ANGINA ║ ║
║═════║════════════════║═════════════║══════════║═════════════║═══════════║
║TESTS║DIGOXIN LEVEL ║U&E ║U&E ║NONE ║U&E ║
║ ║U & E ║ ║URIC ACID ║ ║ ║
║ ║ ║ ║BS ║ ║ ║
║═════║════════════════║═════════════║══════════║═════════════║═══════════║
║SIDE ║NAUSEA,VOMIT ║COLD EXTREMS ║GOUT ║HEADACHE ║DROP ║
║ ║DIZZY,COLOR VIS.║ ║ ║ ║DRY COUGH ║
║═════║════════════════║═════════════║══════════║═════════════║═══════════║
║REFER║PULSE >120 <56 ║PULSE <50 ║DYSPNEA+ ║ANGINA WORSE ║ ║
║ ║ ║FEV 33% LESS ║ ║ ║ ║
╚═════════════════════════════════════════════════════════════════════════╝
Pulse:& /&/& Fev:& Oedema:& angina:& com:&
com:&
\
PULSE
REG
APEX
FEV
OEDEMA
ANGINA
COMMENT1
COMMENT2
\